40 research outputs found

    Context-Aware Performance Benchmarking of a Fleet of Industrial Assets

    Get PDF
    Industrial assets are instrumented with sensors, connected and continuously monitored. The collected data, generally in form of time-series, is used for corrective and preventive maintenance. More advanced exploitation of this data for very diverse purposes, e.g. identifying underperformance, operational optimization or predictive maintenance, is currently an active area of research. The general methods used to analyze the time-series lead to models that are either too simple to be used in complex operational contexts or too difficult to be generalized to the whole fleet due to their asset-specific nature. Therefore, we have conceived an alternative methodology allowing to better characterize the operational context of an asset and quantify the impact on its performance. The proposed methodology allows to benchmark and profile fleet assets in a context-aware fashion, is applicable in multiple domains (even without ground truth). The methodology is evaluated on real-world data coming from a fleet of wind turbines and compared to the standard approach used in the domain. We also illustrate how the asset performance (in terms of energy production) is influenced by the operational context (in terms of environmental conditions). Moreover, we investigate how the same operational context impacts the performance of the different assets in the fleet and how groups of similarly behaving assets can be determined

    Isolating crosscutting concerns in system software

    Get PDF
    This paper reports upon our experience in automatically migrating the crosscutting concerns of a large-scale software system, written in C, to an aspect-oriented implementation. We zoom in on one particular crosscutting concern, and show how detailed information about it is extracted from the source code, and how this information enables us to characterise this code and define an appropriate aspect automatically. Additionally, we compare the already existing solution to the aspect-oriented solution, and discuss advantages as well as disadvantages of both in terms of selected quality attributes. Our results show that automated migration is feasible, and can lead to significant improvements in source code qualit

    An evaluation of clone detection techniques for identifying crosscutting concerns

    Get PDF
    Code implementing a crosscutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves both the maintainability and the evolvability of the application. First of all, it allows a developer to more easily find the places in the code that must be changed when the concern changes, and thus makes such changes less time consuming and less prone to errors. Second, it allows a developer to refactor the code, so that it uses modern and more advanced abstraction mechanisms, thereby restoring its modularity. In this paper, we evaluate the suitability of clone detection as a technique for the identification of crosscutting concerns. To that end, we manually identify four specific concerns in an industrial C application, and analyze to what extent clone detection is capable of finding these concerns. We consider our results as a stepping stone toward an automated 'concern miner' based on clone detection

    Discovering faults in idiom-based exception handling.

    Get PDF
    ABSTRACT In this paper, we analyse the exception handling mechanism of a state-of-the-art industrial embedded software system. Like many systems implemented in classic programming languages, our subject system uses the popular return-code idiom for dealing with exceptions. Our goal is to evaluate the fault-proneness of this idiom, and we therefore present a characterisation of the idiom, a fault model accompanied by an analysis tool, and empirical data. Our findings show that the idiom is indeed fault prone, but that a simple solution can lead to significant improvements

    A Survey of Software Refactoring

    No full text
    This paper provides an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for supporting these activities, the types of software artifacts that are being refactored, the important issues that need to be taken into account when building refactoring tool support, and the effect of refactoring on the software process. A running example is used throughout the paper to explain and illustrate the main concepts. ; info:eu-repo/semantics/publishe
    corecore